home *** CD-ROM | disk | FTP | other *** search
/ IRIX 6.5 Complementary Applications 2004 February / SGI IRIX 6.5 Complementary Applications 2004 February.iso / dist / cde.idb / usr / dt / share / include / Dt / Wsm.h.z / Wsm.h
Encoding:
C/C++ Source or Header  |  2003-11-18  |  3.8 KB  |  170 lines

  1. /*
  2.  * Wsm.h
  3.  *
  4.  * Copyright 2000, Silicon Graphics, Inc.
  5.  * ALL RIGHTS RESERVED
  6.  * 
  7.  * UNPUBLISHED -- Rights reserved under the copyright laws of the United
  8.  * States.   Use of a copyright notice is precautionary only and does not
  9.  * imply publication or disclosure.
  10.  *
  11.  * U.S. GOVERNMENT RESTRICTED RIGHTS LEGEND:
  12.  * Use, duplication or disclosure by the Government is subject to restrictions
  13.  * as set forth in FAR 52.227.19(c)(2) or subparagraph (c)(1)(ii) of the Rights
  14.  * in Technical Data and Computer Software clause at DFARS 252.227-7013 and/or
  15.  * in similar or successor clauses in the FAR, or the DOD or NASA FAR
  16.  * Supplement.  Contractor/manufacturer is Silicon Graphics, Inc.,
  17.  * 2011 N. Shoreline Blvd. Mountain View, CA 94039-7311.
  18.  *
  19.  * THE CONTENT OF THIS WORK CONTAINS CONFIDENTIAL AND PROPRIETARY
  20.  * INFORMATION OF SILICON GRAPHICS, INC. ANY DUPLICATION, MODIFICATION,
  21.  * DISTRIBUTION, OR DISCLOSURE IN ANY FORM, IN WHOLE, OR IN PART, IS STRICTLY
  22.  * PROHIBITED WITHOUT THE PRIOR EXPRESS WRITTEN PERMISSION OF SILICON
  23.  * GRAPHICS, INC.
  24.  */
  25. /* $XConsortium: Wsm.h /main/cde1_maint/1 1995/07/17 18:07:48 drk $ */
  26. /*
  27.  *  (c) Copyright 1993, 1994 Hewlett-Packard Company
  28.  *  (c) Copyright 1993, 1994 International Business Machines Corp.
  29.  *  (c) Copyright 1993, 1994 Sun Microsystems, Inc.
  30.  *  (c) Copyright 1993, 1994 Novell, Inc.
  31.  */
  32.  
  33. #ifndef _Dt_Wsm_h
  34. #define _Dt_Wsm_h
  35.  
  36. #include <X11/Intrinsic.h>
  37.  
  38. #ifdef __cplusplus
  39. extern "C" {
  40. #endif
  41.  
  42.  
  43. /*
  44.  * Constants
  45.  */
  46.  
  47. #define DtWSM_REASON_ADD    0
  48. #define DtWSM_REASON_DELETE    1
  49. #define DtWSM_REASON_BACKDROP    2
  50. #define DtWSM_REASON_TITLE    3
  51. #define DtWSM_REASON_CURRENT    4
  52.  
  53.  
  54. /*
  55.  * Types
  56.  */
  57.  
  58. /* Workspace property information */
  59.  
  60. typedef struct _DtWsmWorkspaceInfo {
  61.     Atom        workspace;
  62.     unsigned long    bg;
  63.     unsigned long    fg;
  64.     Atom        backdropName;
  65.     int        colorSetId;
  66.     char        *pchTitle;
  67.     Window        *backdropWindows;
  68.     int        numBackdropWindows;
  69. } DtWsmWorkspaceInfo;
  70.  
  71.  
  72. /* Workspace modified callback reasons */
  73.  
  74. typedef int DtWsmWsReason;
  75.  
  76. /* Workspace callback context (opaque) */
  77.  
  78. typedef struct _DtWsmCBContext * DtWsmCBContext;
  79.  
  80. /* Workspace callback prototype */
  81.  
  82. typedef void (*DtWsmWsChangeProc)(
  83.         Widget        widget,
  84.         Atom         aWs,
  85.         XtPointer    client_data);
  86.  
  87. /* Workspace modified callback prototype */
  88.  
  89. typedef void (*DtWsmWsModifiedProc)(
  90.         Widget        widget,
  91.         Atom         aWs,
  92.         DtWsmWsReason    reason,
  93.         XtPointer    client_data);
  94.  
  95.  
  96. /*
  97.  * Functions
  98.  */
  99.  
  100. extern void DtWsmAddWorkspaceFunctions(
  101.         Display        *display,
  102.          Window        client);
  103.  
  104. extern void DtWsmRemoveWorkspaceFunctions(
  105.         Display        *display,
  106.         Window        client);
  107.  
  108. extern Status DtWsmGetWorkspaceInfo(
  109.         Display        *display,
  110.         Window        root,
  111.         Atom        aWS,
  112.         DtWsmWorkspaceInfo **ppWsInfo);
  113.  
  114. extern void DtWsmFreeWorkspaceInfo(
  115.         DtWsmWorkspaceInfo *pWsInfo);
  116.  
  117. extern Status DtWsmGetWorkspaceList(
  118.         Display        *display,
  119.         Window        root,
  120.         Atom        **ppWorkspaceList,
  121.         int        *pNumWorkspaces);
  122.  
  123. extern Status DtWsmGetCurrentWorkspace(
  124.         Display        *display,
  125.         Window        root,
  126.         Atom        *paWorkspace);
  127.  
  128. extern DtWsmCBContext DtWsmAddCurrentWorkspaceCallback(
  129.         Widget        widget,
  130.         DtWsmWsChangeProc ws_change,
  131.         XtPointer    client_data);
  132.  
  133. extern void DtWsmRemoveWorkspaceCallback(
  134.         DtWsmCBContext    pCbCtx);
  135.  
  136. extern Status DtWsmSetCurrentWorkspace(
  137.         Widget        widget,
  138.         Atom        aWs);
  139.  
  140. extern int DtWsmGetWorkspacesOccupied(
  141.         Display        *display,
  142.         Window        window,
  143.         Atom        **ppaWs,
  144.         unsigned long    *pNumWs);
  145.  
  146. extern void DtWsmSetWorkspacesOccupied(
  147.         Display        *display,
  148.         Window        window,
  149.         Atom        *pWsHints,
  150.         unsigned long    numHints);
  151.  
  152. extern void DtWsmOccupyAllWorkspaces(
  153.         Display        *display,
  154.         Window        window);
  155.  
  156. extern DtWsmCBContext DtWsmAddWorkspaceModifiedCallback(
  157.         Widget        widget,
  158.         DtWsmWsModifiedProc ws_modified,
  159.         XtPointer    client_data);
  160.  
  161. extern Window DtWsmGetCurrentBackdropWindow(
  162.         Display        *display,
  163.         Window        root);
  164.  
  165. #ifdef __cplusplus
  166. }
  167. #endif
  168.  
  169. #endif /* _Dt_Wsm_h */
  170.